package com.haixiaoke.saas.cleaner.mapper;


import com.haixiaoke.saas.cleaner.domain.InspectionProcessRecord;
import com.haixiaoke.saas.cleaner.domain.InspectionProcessRecordTree;

import java.util.List;

/**
 * 验房流程记录Mapper接口
 *
 * @author xiaolong
 * @date 2024-05-10
 */
public interface InspectionProcessRecordMapper {
    /**
     * 查询验房流程记录
     *
     * @param inspectionProcessId 验房流程记录主键
     * @return 验房流程记录
     */
    InspectionProcessRecord selectInspectionProcessRecordByInspectionProcessId(Long inspectionProcessId);

    /**
     * 查询验房流程记录列表
     *
     * @param inspectionProcessRecord 验房流程记录
     * @return 验房流程记录集合
     */
    List<InspectionProcessRecord> selectInspectionProcessRecordList(InspectionProcessRecord inspectionProcessRecord);

    /**
     * 新增验房流程记录
     *
     * @param inspectionProcessRecord 验房流程记录
     * @return 结果
     */
    int insertInspectionProcessRecord(InspectionProcessRecord inspectionProcessRecord);

    /**
     * 修改验房流程记录
     *
     * @param inspectionProcessRecord 验房流程记录
     * @return 结果
     */
    int updateInspectionProcessRecord(InspectionProcessRecord inspectionProcessRecord);

    /**
     * 删除验房流程记录
     *
     * @param inspectionProcessId 验房流程记录主键
     * @return 结果
     */
    int deleteInspectionProcessRecordByInspectionProcessId(Long inspectionProcessId);

    /**
     * 批量删除验房流程记录
     *
     * @param inspectionProcessIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteInspectionProcessRecordByInspectionProcessIds(Long[] inspectionProcessIds);

    int insertInspectionProcessRecordList(List inspectionProcessRecordList);

    List<InspectionProcessRecordTree> selectInspectionProcessRecordTree(InspectionProcessRecord inspectionProcessRecord);

    int updateInspectionProcessRecordByHouseInspectionIds(InspectionProcessRecord inspectionProcessRecord);

    int updateInspectionProcessRecordList(List<InspectionProcessRecord> inspectionProcessRecordList);

    List<InspectionProcessRecord> selectInspectionProcessRecordByHouseInspectionIds(InspectionProcessRecord inspectionProcessRecord);

    List<InspectionProcessRecord> selectInspectionProcessRecordByHouseInspectionIdsAndParentId(InspectionProcessRecord inspectionProcessRecord);
}
